package cn.blog.dao.front;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import cn.blog.dao.conn.DataManager;
import cn.blog.dao.conn.ParamSet;
import cn.blog.dao.conn.RowDatas;
import cn.blog.entity.origin.ClassBean;
/**
 * 文章类型表dao层
 * @author 江明
 * @time 2018年3月17日
 * @function
 */
public class ClassDao extends DataManager{
	
	private RowDatas<ClassBean> cla;
	private RowDatas<String> claName;
	
	/**
	 * 无参构造	初始化
	 */
	public ClassDao() {
		cla = new ClassData();
		claName = new ClassNameData();
	}
	
	/**
	 * 查询所有文章类型
	 * @return	文章类型列表
	 */
	public List<ClassBean> cla(){
		String sql = "SELECT * FROM tb_article_class ";
		return queryList(sql, cla);
	}
	/**
	 * 增加文章类型
	 * @param className	类型名
	 * @return	成功的行数
	 */
	public int addClassName(String className) {
		String sql = "insert into tb_article_class (class_name) values(?)";
		return updateExecuted(sql, new ParamSet(className));
	}
	/**
	 * 根据类型编号修改类型名称
	 * @param claName	类型名
	 * @param id	类型编号
	 * @return	成功的行数
	 */
	public int upClassName(String claName,int id) {
		String sql = "UPDATE tb_article_class SET class_name = ? WHERE class_id = ?";
		return updateExecuted(sql, new ParamSet(claName,id));
	}
	
	/**
	 * 删除选中的类型名
	 * @param claName	类型名
	 * @return	成功的行数
	 */
	public int delClassName(String claName) {
		String sql = "DELETE FROM tb_article_class WHERE class_name = ?";
		return updateExecuted(sql, new ParamSet(claName));
	}
	
	private class ClassData implements RowDatas<ClassBean>{

		@Override
		public ClassBean getRowData(ResultSet rs) throws SQLException {
			ClassBean cla = new ClassBean();
			cla.setClassId(rs.getInt(1));
			cla.setClassName(rs.getString(2));
			return cla;
		}
		
	}
	
	private class ClassNameData implements RowDatas<String>{

		@Override
		public String getRowData(ResultSet rs) throws SQLException {
			// TODO Auto-generated method stub
			return rs.getString(1);
		}
		
	}
	
	
	
}
